package com.xinke.juc.case03;

import lombok.extern.slf4j.Slf4j;

/**
 * @Author：xinke
 * @Date：2025/10/1
 * @Desc: 主线程与守护线程
 * 默认情况下，Java 进程需要等待所有线程都运行结束，才会结束。有一种特殊的线程叫做守护线程，只要其它非守
 * 护线程运行结束了，即使守护线程的代码没有执行完，也会强制结束。
 */
@Slf4j
public class TestDaemon {
    public static void main(String[] args) throws InterruptedException {
        log.info("开始运行。。。");
        Thread t1 = new Thread(() -> {
            log.info("开始运行");
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            log.info("结束运行");

        }, "daemon");
        // 设置该线程为守护线程
        t1.setDaemon(true);
        t1.start();

        Thread.sleep(1000);
        log.info("运行结束。。。");
    }
}
